package com.yixun.qfbao.apidto.v10dto;

import com.yixun.qfbao.apidto.SyncIntentionRecommenderReqDto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * V10 楼盘同步类
 */
public class SaveFirsthandEstateReqDto extends BaseRequestDto implements Serializable {

    /**
     * 楼盘uuid 若为空则为添加，否则为编辑
     */
    private String estateUuid;
    /**
     * 楼盘地址
     */
    private String address;
    /**
     * 区
     */
    private String area;
    /**
     * 楼盘均价：元/㎡
     */
    private Float averagePrice;
    /**
     * 建筑类型：数据以逗号分隔，来源业务参数
     */
    private String buildingType;
    /**
     * 现金奖
     */
    private Float cashPrize;
    /**
     * 渠道楼盘id
     */
    private Long channelPremises;
    /**
     * 交房日期
     */
    private Date checkOutDate;
    /**
     * 市
     */
    private String city;
    /**
     * 委托方负责人
     */
    private String clientPrincipal;
    /**
     * 佣金模式 1：比例，2：金额，3：其他
     */
    private String commissionMode;
    /**
     * 佣金金额
     */
    private String commission;
    /**
     * 佣金描述
     */
    private String commissionDesc;
    /**
     * 结佣方式 1：签约，2：按揭，3：其他结佣
     */
    private String commissionWay;
    /**
     * 公司uuid
     */
    private String companyUuid;
    /**
     * 带看确认方式 1：机器打印，2：案场手写，3：自带，4：自带
     */
    private String confirmMode;
    /**
     * 合同有效终止日期
     */
    private Date contractEndDate;

    /**
     * 合同有效起始日期
     */
    private Date contractStartDate;
    /**
     * 合同规则
     */
    private String cooRule;
    /**
     * 创建人
     */
    private String createUserId;
    /**
     * 人员部门1
     */
    private String deptUuid1;
    /**
     * 人员部门2
     */
    private String deptUuid2;
    /**
     * 人员部门3
     */
    private String deptUuid3;
    /**
     * 开发商
     */
    private String developers;
    /**
     * 商圈
     */
    private String district;
    /**
     * 地下车位
     */
    private Integer downCarPort;
    /**
     * 参考首付：万
     */
    private Float downPayment;
    /**
     * 项目人员1
     */
    private String employeeUuid1;
    /**
     * 项目人员1
     */
    private String employeeUuid2;
    /**
     * 项目人员1
     */
    private String employeeUuid3;
    /**
     * 项目描述
     */
    private String estateDesc;
    /**
     * 楼盘名称
     */
    private String estateName;
    /**
     * 项目特色: 数据以逗号分隔,来源业务参数
     */
    private String featureType;
    /**
     * 绿化率：%
     */
    private Float greeningRate;
    /**
     * 是否主推 0,1（普通，主推）
     */
    private String hotStatus;
    /**
     * 规划户数
     */
    private Integer houseHolds;
    /**
     * 报备保护时间类型
     */
    private String intentionIntervalType;
    /**
     * 报备保护天数
     */
    private Integer intentionInterval;
    /**
     * 报备接受方式：数据以逗号分隔，来源业务参数
     */
    private String intentionMode;
    /**
     * 发布状态：0：未发布，1已发布
     */
    private String issuedStatus;
    /**
     * 渠道状态（上下架）
     */
    private String channelIssuedStatus;
    /**
     * 物业公司
     */
    private String manageCompany;
    /**
     * 楼盘最高价
     */
    private Float maxPrice;
    /**
     * 楼盘最低价
     */
    private Float minPrice;
    /**
     * 报备号码显示规则
     */
    private String mobileRule;
    /**
     * 参考月供:元/月
     */
    private Float monthPayment;
    /**
     * 开盘日期
     */
    private Date openDate;
    /**
     * 其他佣金模式说明,冗余…根据产品规定,选其他时,佣金金额/比例字段变成描述内容
     */
    private String otherCommissionMode;
    /**
     * 其他佣金说明
     */
    private String otherCommissionWay;
    /**
     * 其他确认方式描述
     */
    private String otherConfirmMode;
    /**
     * 容积率
     */
    private Float plotRatio;
    /**
     * 手机号码 项目经理联系方式
     */
    private String principalMobile;
    /**
     * 物业费：元/月
     */
    private Float propertyFee;
    /**
     * 产权年限 70/50/40
     */
    private String propertyRight;
    /**
     * 物业类型：数据以逗号分隔，来源业务参数
     */
    private String propertyType;
    /**
     * 省
     */
    private String province;
    /**
     * 备注
     */
    private String remark;
    /**
     * 销售进度: 1,2,3,4,5,6(待售、在售期房、在售现房、认筹中、尾盘、售罄) / 0：待售,1;在售,2：售罄 需要转换
     */
    private String saleStatus;
    /**
     * 报备最短时间：分
     */
    private Integer shortestInterval;
    /**
     * 周边配套
     */
    private String surrounding;
    /**
     * 交通状况
     */
    private String traffic;
    /**
     * 地上车位
     */
    private Integer upCarPort;
    /**
     * 到场保护时间：天
     */
    private Integer visitInterval;
    /**
     * 带看：楼盘带看奖
     */
    private Float visitPrize;
    /**
     * 楼盘类型（1渠道王，0 非渠道王）
     */
    private String estateType;
    /**
     * 渠道楼盘创建日期
     */
    private Date channelCreateDate;
    /**
     * 渠道楼盘更新日期
     */
    private Date channelUpdateDate;
    /**
     * 渠道楼盘发布状态更改日期
     */
    private Date issueStatusChangeDate;

    /**
     * 楼盘相册 （封面图，户型图统一加入此列表）
     */
    private List<PremisesImageV10Dto> images;

    private List<CommissionType> commissions;

    /**
     * 户型列表
     */
    private List<HouseType> houseTypes;

    private List<SyncIntentionRecommenderReqDto> recommenders;

    /**
     *   楼盘模板信息（自定义）
     */
    private List<PremisesReportModelDto> reportModels;

    /**
     * 是否有推荐人
     * 0 没有   1 有
     */
    private String hasRecommender;

    /**
     * 全景看房
     */
    private String panoramicView;

    public List<PremisesReportModelDto> getReportModels() {
        return reportModels;
    }

    public void setReportModels(List<PremisesReportModelDto> reportModels) {
        this.reportModels = reportModels;
    }

    public String getPanoramicView() {
        return panoramicView;
    }

    public void setPanoramicView(String panoramicView) {
        this.panoramicView = panoramicView;
    }

    public String getEstateUuid() {
        return estateUuid;
    }

    public void setEstateUuid(String estateUuid) {
        this.estateUuid = estateUuid;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public Float getAveragePrice() {
        return averagePrice;
    }

    public void setAveragePrice(Float averagePrice) {
        this.averagePrice = averagePrice;
    }

    public String getBuildingType() {
        return buildingType;
    }

    public void setBuildingType(String buildingType) {
        this.buildingType = buildingType;
    }

    public Float getCashPrize() {
        return cashPrize;
    }

    public void setCashPrize(Float cashPrize) {
        this.cashPrize = cashPrize;
    }

    public Long getChannelPremises() {
        return channelPremises;
    }

    public void setChannelPremises(Long channelPremises) {
        this.channelPremises = channelPremises;
    }

    public Date getCheckOutDate() {
        return checkOutDate;
    }

    public void setCheckOutDate(Date checkOutDate) {
        this.checkOutDate = checkOutDate;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getClientPrincipal() {
        return clientPrincipal;
    }

    public void setClientPrincipal(String clientPrincipal) {
        this.clientPrincipal = clientPrincipal;
    }

    public String getCommissionMode() {
        return commissionMode;
    }

    public void setCommissionMode(String commissionMode) {
        this.commissionMode = commissionMode;
    }

    public String getCommission() {
        return commission;
    }

    public void setCommission(String commission) {
        this.commission = commission;
    }

    public String getCommissionDesc() {
        return commissionDesc;
    }

    public void setCommissionDesc(String commissionDesc) {
        this.commissionDesc = commissionDesc;
    }

    public String getCommissionWay() {
        return commissionWay;
    }

    public void setCommissionWay(String commissionWay) {
        this.commissionWay = commissionWay;
    }

    public String getCompanyUuid() {
        return companyUuid;
    }

    public void setCompanyUuid(String companyUuid) {
        this.companyUuid = companyUuid;
    }

    public String getConfirmMode() {
        return confirmMode;
    }

    public void setConfirmMode(String confirmMode) {
        this.confirmMode = confirmMode;
    }

    public Date getContractEndDate() {
        return contractEndDate;
    }

    public void setContractEndDate(Date contractEndDate) {
        this.contractEndDate = contractEndDate;
    }

    public Date getContractStartDate() {
        return contractStartDate;
    }

    public void setContractStartDate(Date contractStartDate) {
        this.contractStartDate = contractStartDate;
    }

    public String getCooRule() {
        return cooRule;
    }

    public void setCooRule(String cooRule) {
        this.cooRule = cooRule;
    }

    public String getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    public String getDeptUuid1() {
        return deptUuid1;
    }

    public void setDeptUuid1(String deptUuid1) {
        this.deptUuid1 = deptUuid1;
    }

    public String getDeptUuid2() {
        return deptUuid2;
    }

    public void setDeptUuid2(String deptUuid2) {
        this.deptUuid2 = deptUuid2;
    }

    public String getDeptUuid3() {
        return deptUuid3;
    }

    public void setDeptUuid3(String deptUuid3) {
        this.deptUuid3 = deptUuid3;
    }

    public String getDevelopers() {
        return developers;
    }

    public void setDevelopers(String developers) {
        this.developers = developers;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public Integer getDownCarPort() {
        return downCarPort;
    }

    public void setDownCarPort(Integer downCarPort) {
        this.downCarPort = downCarPort;
    }

    public Float getDownPayment() {
        return downPayment;
    }

    public void setDownPayment(Float downPayment) {
        this.downPayment = downPayment;
    }

    public String getEmployeeUuid1() {
        return employeeUuid1;
    }

    public void setEmployeeUuid1(String employeeUuid1) {
        this.employeeUuid1 = employeeUuid1;
    }

    public String getEmployeeUuid2() {
        return employeeUuid2;
    }

    public void setEmployeeUuid2(String employeeUuid2) {
        this.employeeUuid2 = employeeUuid2;
    }

    public String getEmployeeUuid3() {
        return employeeUuid3;
    }

    public void setEmployeeUuid3(String employeeUuid3) {
        this.employeeUuid3 = employeeUuid3;
    }

    public String getEstateDesc() {
        return estateDesc;
    }

    public void setEstateDesc(String estateDesc) {
        this.estateDesc = estateDesc;
    }

    public String getEstateName() {
        return estateName;
    }

    public void setEstateName(String estateName) {
        this.estateName = estateName;
    }

    public String getFeatureType() {
        return featureType;
    }

    public void setFeatureType(String featureType) {
        this.featureType = featureType;
    }

    public Float getGreeningRate() {
        return greeningRate;
    }

    public void setGreeningRate(Float greeningRate) {
        this.greeningRate = greeningRate;
    }

    public String getHotStatus() {
        return hotStatus;
    }

    public void setHotStatus(String hotStatus) {
        this.hotStatus = hotStatus;
    }

    public Integer getHouseHolds() {
        return houseHolds;
    }

    public void setHouseHolds(Integer houseHolds) {
        this.houseHolds = houseHolds;
    }

    public String getIntentionIntervalType() {
        return intentionIntervalType;
    }

    public void setIntentionIntervalType(String intentionIntervalType) {
        this.intentionIntervalType = intentionIntervalType;
    }

    public Integer getIntentionInterval() {
        return intentionInterval;
    }

    public void setIntentionInterval(Integer intentionInterval) {
        this.intentionInterval = intentionInterval;
    }

    public String getIntentionMode() {
        return intentionMode;
    }

    public void setIntentionMode(String intentionMode) {
        this.intentionMode = intentionMode;
    }

    public String getIssuedStatus() {
        return issuedStatus;
    }

    public void setIssuedStatus(String issuedStatus) {
        this.issuedStatus = issuedStatus;
    }

    public String getChannelIssuedStatus() {
        return channelIssuedStatus;
    }

    public void setChannelIssuedStatus(String channelIssuedStatus) {
        this.channelIssuedStatus = channelIssuedStatus;
    }

    public String getManageCompany() {
        return manageCompany;
    }

    public void setManageCompany(String manageCompany) {
        this.manageCompany = manageCompany;
    }

    public Float getMaxPrice() {
        return maxPrice;
    }

    public void setMaxPrice(Float maxPrice) {
        this.maxPrice = maxPrice;
    }

    public Float getMinPrice() {
        return minPrice;
    }

    public void setMinPrice(Float minPrice) {
        this.minPrice = minPrice;
    }

    public String getMobileRule() {
        return mobileRule;
    }

    public void setMobileRule(String mobileRule) {
        this.mobileRule = mobileRule;
    }

    public Float getMonthPayment() {
        return monthPayment;
    }

    public void setMonthPayment(Float monthPayment) {
        this.monthPayment = monthPayment;
    }

    public Date getOpenDate() {
        return openDate;
    }

    public void setOpenDate(Date openDate) {
        this.openDate = openDate;
    }

    public String getOtherCommissionMode() {
        return otherCommissionMode;
    }

    public void setOtherCommissionMode(String otherCommissionMode) {
        this.otherCommissionMode = otherCommissionMode;
    }

    public String getOtherCommissionWay() {
        return otherCommissionWay;
    }

    public void setOtherCommissionWay(String otherCommissionWay) {
        this.otherCommissionWay = otherCommissionWay;
    }

    public String getOtherConfirmMode() {
        return otherConfirmMode;
    }

    public void setOtherConfirmMode(String otherConfirmMode) {
        this.otherConfirmMode = otherConfirmMode;
    }

    public Float getPlotRatio() {
        return plotRatio;
    }

    public void setPlotRatio(Float plotRatio) {
        this.plotRatio = plotRatio;
    }

    public String getPrincipalMobile() {
        return principalMobile;
    }

    public void setPrincipalMobile(String principalMobile) {
        this.principalMobile = principalMobile;
    }

    public Float getPropertyFee() {
        return propertyFee;
    }

    public void setPropertyFee(Float propertyFee) {
        this.propertyFee = propertyFee;
    }

    public String getPropertyRight() {
        return propertyRight;
    }

    public void setPropertyRight(String propertyRight) {
        this.propertyRight = propertyRight;
    }

    public String getPropertyType() {
        return propertyType;
    }

    public void setPropertyType(String propertyType) {
        this.propertyType = propertyType;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSaleStatus() {
        return saleStatus;
    }

    public void setSaleStatus(String saleStatus) {
        this.saleStatus = saleStatus;
    }

    public Integer getShortestInterval() {
        return shortestInterval;
    }

    public void setShortestInterval(Integer shortestInterval) {
        this.shortestInterval = shortestInterval;
    }

    public String getSurrounding() {
        return surrounding;
    }

    public void setSurrounding(String surrounding) {
        this.surrounding = surrounding;
    }

    public String getTraffic() {
        return traffic;
    }

    public void setTraffic(String traffic) {
        this.traffic = traffic;
    }

    public Integer getUpCarPort() {
        return upCarPort;
    }

    public void setUpCarPort(Integer upCarPort) {
        this.upCarPort = upCarPort;
    }

    public Integer getVisitInterval() {
        return visitInterval;
    }

    public void setVisitInterval(Integer visitInterval) {
        this.visitInterval = visitInterval;
    }

    public Float getVisitPrize() {
        return visitPrize;
    }

    public void setVisitPrize(Float visitPrize) {
        this.visitPrize = visitPrize;
    }

    public String getEstateType() {
        return estateType;
    }

    public void setEstateType(String estateType) {
        this.estateType = estateType;
    }

    public Date getChannelCreateDate() {
        return channelCreateDate;
    }

    public void setChannelCreateDate(Date channelCreateDate) {
        this.channelCreateDate = channelCreateDate;
    }

    public Date getChannelUpdateDate() {
        return channelUpdateDate;
    }

    public void setChannelUpdateDate(Date channelUpdateDate) {
        this.channelUpdateDate = channelUpdateDate;
    }

    public Date getIssueStatusChangeDate() {
        return issueStatusChangeDate;
    }

    public void setIssueStatusChangeDate(Date issueStatusChangeDate) {
        this.issueStatusChangeDate = issueStatusChangeDate;
    }

    public List<PremisesImageV10Dto> getImages() {
        return images;
    }

    public void setImages(List<PremisesImageV10Dto> images) {
        this.images = images;
    }

    public List<HouseType> getHouseTypes() {
        return houseTypes;
    }

    public void setHouseTypes(List<HouseType> houseTypes) {
        this.houseTypes = houseTypes;
    }

    public List<CommissionType> getCommissions() {
        return commissions;
    }

    public void setCommissions(List<CommissionType> commissions) {
        this.commissions = commissions;
    }

    public String getHasRecommender() {
        return hasRecommender;
    }

    public void setHasRecommender(String hasRecommender) {
        this.hasRecommender = hasRecommender;
    }

    public List<SyncIntentionRecommenderReqDto> getRecommenders() {
        return recommenders;
    }

    public void setRecommenders(List<SyncIntentionRecommenderReqDto> recommenders) {
        this.recommenders = recommenders;
    }
}
